package com.minio.util;

import org.springframework.web.multipart.MultipartFile;
import java.util.Arrays;
import java.util.Locale;

/**
 * 公共方法
 */
public class CommentMethod {

    /**
     * 文件后缀 支持的类型 todo 自行舍取
     */
    public static final String[] FILE_SUFFIX_SUPPORT = {
            // 图片
            ".bmp", ".gif", ".jpg", ".jpeg", ".png",
            // word excel powerpoint
            ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".html", ".htm", ".txt",
            // 压缩文件
            ".rar", ".zip", ".gz", ".bz2",
            // 视频格式
            ".mp4", ".avi", ".rmvb",
            // pdf
            ".pdf",
            ".apk",".ipa"};

    public static final String[] IMAGE_SUFFIX = {
            "bmp", "gif", "jpg", "jpeg", "png"
    };

    public static final String[] VOIDE_SUFFIX = {
            "mp4", "avi", "rmvb"
    };

    /**
     * 文件名字 需要排除的字符 todo 自行舍取
     */
    private static final String[] FILE_NAME_EXCLUDE = {
            "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "-", "=", "_", "+",
            "~", "·", "！", "￥", "……", "（", "）", "——", "",
            "?", ",", "<", ">", ":", ";", "[", "]", "{", "}", "/", "\\", "|",
            "？", "，", "。", "《", "》", "：", "；", "【", "】", "、",
    };

    /**
     * 文件大小 10MB todo 自行更改
     */
    private static final long FILE_SIZE = 20 * 1024 * 1024;

    /**
     * 默认的文件名最大长度 100
     */
    public static final int DEFAULT_FILE_NAME_LENGTH = 100;


    /**
     * 上传文件校验大小、名字、后缀
     * @param
     */
    public static String uploadVerify(MultipartFile[] multipartFiles) {

//        for (MultipartFile multipartFile : multipartFiles) {
//
//            String originalFilename = multipartFile.getOriginalFilename();
//
//            // 校验文件名字
//            if (originalFilename == null) {
//                return "文件名字不能为空！";
//            }
//
//            // 校验文件是否为空
//            if (multipartFile == null) {
//                return "文件"+originalFilename+"不能为空！";
//            }
//
//            // 校验文件大小
//            long size = multipartFile.getSize();
//            if(size > FILE_SIZE){
//                return "文件"+originalFilename+"大小不能超过20MB！";
//            }
//
//            // 校验文件后缀
//            if (!originalFilename.contains(".")) {
//                return "文件"+originalFilename+"不能没有后缀！";
//            }
//            String suffix = originalFilename.substring(originalFilename.lastIndexOf('.'));
//            boolean flag = true;
//            for (String s : FILE_SUFFIX_SUPPORT) {
//                if (s.equals(suffix.toLowerCase(Locale.ROOT))) {
//                    flag = false;
//                    break;
//                }
//            }
//            if(flag){
//                return "文件"+originalFilename+"格式仅限于"+ Arrays.toString(FILE_SUFFIX_SUPPORT) +"！";
//            }
//        }

        return null;
    }

}

